import { type NextRequest, NextResponse } from 'next/server'; import { fetchJson } from '@/lib/utils/server'; export async function GET(request: NextRequest, { params }: { params: { slug: string } }) { const { slug } = await params; switch (slug) { default: return new Response(JSON.stringify({ message: '잘못된 요청입니다.' }), { status: 400 }); // accessToken 검증 case 'verify-token': { const res = await fetchJson('/api/auth/verify-token', { method: 'GET', headers: {'Content-Type': 'application/json'}, data: request, withCredentials: true }); return new NextResponse(JSON.stringify(res), { status: 200 }); } // refreshToken 검증 case 'refresh-token': { const res = await fetchJson('/api/auth/refresh-token', { method: 'GET', headers: {'Content-Type': 'application/json'}, data: request, withCredentials: true }); return new NextResponse(JSON.stringify(res), { status: 200 }); } } } export async function POST(request: NextRequest, { params }: { params: { slug: string } }) { const { slug } = await params; switch (slug) { default: return new Response(JSON.stringify({ message: '잘못된 요청입니다.' }), { status: 400 }); // 로그아웃 case 'logout': { const res = await fetchJson('/api/auth/logout', { method: 'GET', headers: {'Content-Type': 'application/json'}, withCredentials: true }); const headers = new Headers(); if (res.ok) { headers.append('Set-Cookie', 'accessToken=; HttpOnly; Path=/; Max-Age=0;'); headers.append('Set-Cookie', 'refreshToken=; HttpOnly; Path=/; Max-Age=0;'); } return new NextResponse(null, { status: 200, headers: headers }); } } }